package com.xcdh.domain;

import java.util.Collection;
import java.util.function.Supplier;

public class Validate {
    public Validate notNull(Object value , String msg){
        if(value == null ){
            runException(msg) ;
        }
        return this ;
    }
    public Validate notEmpty(Object value , String msg){
        if(value == null || "".equals(value)){
            runException(msg) ;
        }
        return this ;
    }

    public Validate notNull(Collection elements , String msg){
        if(elements == null || elements.size() == 0){
            runException(msg) ;
        }
        return this ;
    }

    public Validate notVoid(Supplier supplier , String msg){
        return notEmpty(supplier.get() , msg) ;
    }

    private void runException(String msg){
        throw new RuntimeException(msg) ;
    }
}
